package java学习.实训.day03;

/**
 * **************
 * 项目名称: 蓝桥杯 <br/>
 * 文件名称:  <br/>
 * 文件描述: 这里添加您的类文件描述，说明当前文件要包含的功能。 <br/>
 * 文件创建：刘世锦 <br/>
 * 创建时间: 2022/6/9 <br/>
 *
 * @version v1.0 <br/>
 * @update [序号][日期YYYY-MM-DD][更改人姓名][变更描述]<br/>
 * *************
 */
/*
设计一个代表圆的类（Circle）。需要包含如下属性（x坐标，y坐标，半径r），计算圆的周长（perimeter ）和面积（area）。
创建2个圆，打印圆的信息。

------下面内容是选做。
Circle类中添加一个方法：  判断2个圆是否相交的方法（当前的圆和另外一个圆是否相交），如果相交返回true，如果不相交，返回false。-----腾讯的面试题。
 */
class Circle{
    private double x;
    private double y;
    private double r;

    public double perimeter(double r){
        return Math.PI*r*2;
    }

    /**
     *
     * @param r
     * @return
     */
    public double area(double r){
        return Math.PI*r*r;
    }
    public  boolean centerDistance(Circle c1,Circle c2 ){
        double dis = Math.sqrt(c1.x-c2.x)*(c1.x-c2.x)+(c1.y-c2.y)*(c1.y-c2.y);
        double sum = c1.r + c2.r;

        return dis>sum?false:true;
    }


    public Circle(double x, double y, double r) {
        this.x = x;
        this.y = y;
        this.r = r;
    }

    public Circle(double r) {
        this.r = r;
    }

    @Override
    public String toString() {
        return "Circle{" +
                " r=" + r +
                " perimeter=" + perimeter(r) +
                " area=" + area(r) +
                '}';
    }

    public static void main(String[] args) {
        Circle c1 = new Circle(2.5);
        Circle c2 = new Circle(3);
        System.out.println(c1.toString());
        System.out.println(c2.toString());

    }
}

